#!/bin/bash
# 检查 build-essential 包是否未安装，如果是，则安装它
if ! dpkg -s build-essential > /dev/null 2>&1; then
    apt-get update -y
    apt-get install -y build-essential
fi
#检查 cmake 是否已安装
if ! command -v cmake >/dev/null 2>&1; then
    echo "cmake 未安装正在尝试安装"
    apt-get update -y
    apt-get install -y cmake
fi
# 获取当前脚本的绝对路径
SCRIPT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/$(basename "${BASH_SOURCE[0]}")"
cd $(dirname $SCRIPT_PATH)
# 检查构建是否成功
if [ $? -ne 0 ]; then
    echo "构建失败"
    exit 1
fi
cd ../..
CMAKEWORKDIR=$(pwd)
# 生成临时文件
BUILD_DIR="/tmp/build/module_manager/debug"

#UTILSFILE="/mnt/android_home/ndk/android-ndk-r28c/build/cmake/android.toolchain.cmake"
UTILSFILE="/mnt/android_home/ndk/r21e/build/cmake/android.toolchain.cmake"

function android_build() {
    #删除 临时文件
    rm -rf $BUILD_DIR
    cmake -G "Unix Makefiles" \
    -D CMAKE_BUILD_TYPE=Debug \
    -D CMAKE_TOOLCHAIN_FILE=$UTILSFILE \
    -D ANDROID_ABI=$1 \
    -D ANDROID_PLATFORM=$2 \
    -D ANDROID_STL=c++_static \
    -D EXTERNA_USERS_SYSTEM_ROOT=/opt/module/output \
    -D EXTERNAL_PROJECT_ROOT=/opt/module \
    -D BUILD_SHARED_LIBS=OFF \
    -S $CMAKEWORKDIR -B $BUILD_DIR
    # 检查构建是否成功
    if [ $? -ne 0 ]; then
        echo "配置失败"
        exit 1
    fi
    cmake --build $BUILD_DIR -j$(nproc)
}


android_build arm64-v8a 24
#android_build armeabi-v7a 21
#android_build x86_64 21
#android_build x86 21









